<?php

namespace jx\core;

/*启动核心类*/

class Boot
{
    //运行执行
    public static function run()
    {
        self::init();
        self::apprun();
    }

    private static function apprun()
    {
        //根据状态栏 自动寻找控制器
        if (isset($_GET['s'])) {
            $param = explode('/', $_GET['s']);
            //统一小写处理
            $m = strtolower($param[0]);
            $c = strtolower($param[1]);
            $a = strtolower($param[2]);
        } else {
            //默认没有参数
            $m = 'home';
            $c = 'home';
            $a = 'index';
        }

        //定义模块 控制器 方法的常量 方便后面使用
        define('MODULE', $m);
        define('CONTROLLER', $c);
        define('ACTIVE', $a);

        //定义完整域名
        define('__ROOT__', 'http://'. $_SERVER['SERVER_NAME'] . $_SERVER['SCRIPT_NAME']);

        //控制器首字母大写
        $controller = ucfirst($c);
        $class = "\app\\{$m}\controller\\{$controller}Controller";
        //echo (new $class)->$a();
        $obj = new $class;
        //echo用法： 调用view __toString
        echo $obj->$a();
    }

    //初始化方法
    private static function init()
    {
        //开启session
        session_id() || session_start();
        //初始化时区
        date_default_timezone_set('PRC');
        //设置提交IS_POST常量
        define('IS_POST', $_SERVER['REQUEST_METHOD'] == 'POST' ? true : false);
    }


}